package com.glr.industry.service;

import com.glr.industry.dao.IndustryDao;
import com.glr.industry.entity.IndustryEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 行业业务层
 *
 * @author GLoRy
 * @date 2021/6/1 14:45
 */
@Service
public class IndustryService {

    @Autowired
    private IndustryDao industryDao;

    /**
     * 增加行业方向
     *
     * @param industryEntity 行业实体
     */
    @Transactional(rollbackFor = Exception.class)
    public void save(IndustryEntity industryEntity) {
        industryDao.save(industryEntity);
    }

    /**
     * 修改行业方向
     *
     * @param industryEntity 行业实体
     */
    @Transactional(rollbackFor = Exception.class)
    public void update(IndustryEntity industryEntity) {
        industryDao.save(industryEntity);
    }

    /**
     * 删除行业方向
     *
     * @param id 行业id
     */
    @Transactional(rollbackFor = Exception.class)
    public void delete(Integer id) {
        industryDao.deleteById(id);
    }

    /**
     * 根据id查询行业方向
     *
     * @param id 行业方向id
     * @return 行业方向信息
     */
    @Transactional(rollbackFor = Exception.class)
    public IndustryEntity findById(Integer id) {
        return industryDao.getById(id);
    }

    /**
     * 查询行业方向
     *
     * @return 行业方向信息
     */
    public List<IndustryEntity> findAll() {
        return industryDao.findAll();
    }

    /**
     * 分页查询行业方向
     *
     * @param page     当前页
     * @param pageSize 每页行数
     * @return 行业方向分页信息
     */
    public Page<IndustryEntity> findByPage(Integer page, Integer pageSize) {
        PageRequest pageRequest = PageRequest.of(page, pageSize);
        return industryDao.findAll(pageRequest);
    }
}
